#ifndef AUDIOVIEW_H
#define AUDIOVIEW_H

#include <QPropertyAnimation>
#include <QGraphicsScene>
#include <QGraphicsItemGroup>
#include <QGraphicsGridLayout>
#include <QPixmap>
#include <QBrush>
#include <QGraphicsWidget>
#include <QStringList>
#include <QPluginLoader>
#include <QMap>
#include <QSettings>
#include <QDir>
#include <qdebug.h>
#include "volumewidget.h"
#include "playwid.h"
#include "nextwid.h"
#include "prevwid.h"
#include "forwrewwid.h"
#include "stopwid.h"
#include "randomwid.h"
#include "repeatwid.h"
#include "titletext.h"
#include "collectionbrowser.h"
#include "collectionswitcherwid.h"
#include "genericwid.h"
#include "audioplayerbackend.h"
#include "widgetinterface.h"

class audioview : public QObject, public QGraphicsItemGroup
{
        Q_OBJECT
public:
    audioview(AudioPlayerBackend * music, QGraphicsScene * scene, QSettings * theme);
    AudioPlayerBackend * music; // put back to private

private:
//    genericWid * browser;
   // mpdcontroller * music;
    titleText * title;
    void init();
    int x;
    int y;
    QPropertyAnimation * animation;
    QSettings * themeSettings;

    QMap<QString,QPluginLoader *> widgetLoaders;    //store a pluginloader and its name

private slots:
    void rewButton(int ms = 0);
    void forwardButton(int ms = 0);
    void showBrowser();

signals:
    void showBrowserButtonClicked();
};

#endif // AUDIOVIEW_H
